﻿function AutorizarRechazar(idMovimiento, accion) {
    var sendObj = { idMovimiento: idMovimiento };
    if (accion == 'autorizar')
        sUrl = GetAppURL() + "/Pago/AutorizarM";
    else
        sUrl = GetAppURL() + "/Pago/RechazarM";
    _ajaxCall({
        url: sUrl,
        data: sendObj,
        success: function (result) {
            $('#p-resultado').html(result.Message);
            $('#MovimientoTable').jtable('updateRecord', {
                record: {
                    idMovimiento: idMovimiento,
                    estado: result.Estado
                },
                clientOnly: true
            });
            $('#ui-dialog-resultado').dialog('open');
        }
    });
}
function CargarTotales() {
    _ajaxCall({
        url: GetAppURL() + "/Pago/TotalRecaudacion",
        data: {},
        success: function (result) {
            $('#ec-totalingreso').val(result.TotalIngreso);
            $('#ec-totalautorizado').val(result.TotalAutorizado);
            $('#ec-canjeado').val(result.Canjeado);
            $('#ec-disponible').val(result.Disponible);
        }
    });
}
function CargarTotalIngresos(params) {
    _ajaxCall({
        url: GetAppURL() + "/Participante/TotalIngresos?" + params,
        data: {},
        success: function (result) {
            $('#cp-totalLOC').val(result.TotalLOC);
            $('#cp-totalUSD').val(result.TotalUSD);
            $('#cp-totalBUS').val(result.TotalBUS);
        }
    });
}
function ConfirmarTraslado() {
    var disponibleLOC = Number($('#ec-montoLOC').val());
    var disponibleUSD = Number($('#ec-montoUSD').val());
    var idPagador = $('#ec-idParticipanteXEvento').val();

    if ((disponibleLOC > 0) || (disponibleUSD > 0)) {
        var $allRows = $('#TrasladoTable').jtable('getAllRows');

        if ($allRows.length > 0) {
            var arrTraslado = new Array();
            var i = 0;
            $allRows.each(function () {
                var record = $(this).data('record');
                if (record) {
                    arrTraslado[i] = record;
                    i++;
                }
            });
            if (arrTraslado.length > 0) {
                var sendObj = { arrTraslado: arrTraslado, idPagador: idPagador };
                _ajaxCall({
                    url: GetAppURL() + "/Pago/TrasladarFondos",
                    data: sendObj,
                    success: function (result) {
                        $('#p-resultado').html(result.Message);
                        $('#ui-dialog-resultado').dialog('open');
                        $('#ui-dialog-traslado').dialog('close');
                        $('#CancelTable').jtable('updateRecord', {
                            record: {
                                idParticipanteXEvento: idPagador,
                                disponibleLOC: 0,
                                disponibleUSD: 0
                            },
                            clientOnly: true
                        });
                    }
                });
            }
        }
    } else {
        $('#ui-dialog-traslado').dialog("close");
    }
}
function OpenTraslado(participante) {
    $('#ec-idParticipanteXEvento').val(participante.idParticipanteXEvento);
    $('#ec-codigo').val(participante.codigo);
    $('#ec-nombre').val(participante.nombres + ' ' + participante.apellidos);
    $('#ec-montoLOC').val(participante.disponibleLOC);
    $('#ec-montoUSD').val(participante.disponibleUSD);

    var disponibleLOC = Number(participante.disponibleLOC);
    var disponibleUSD = Number(participante.disponibleUSD);
    var actions;
    if ((disponibleLOC == 0) && (disponibleUSD == 0)) {
        actions = {
            listAction: GetAppURL() + '/Pago/TrasladoList'
        }
    } else {
        actions = {
            listAction: GetAppURL() + '/Pago/TrasladoList',
            deleteAction: GetAppURL() + '/Pago/DeleteTraslado',
            createAction: GetAppURL() + '/Pago/CreateTraslado'
        }
    }
    LoadTraslado(actions);
    $('#TrasladoTable').jtable('load', {
        idParticipanteXEvento: participante.idParticipanteXEvento
    });
    $('#ui-dialog-traslado').dialog('open');
}
function LoadTraslado(jtActions) {
    $('#TrasladoTable').jtable({
        title: 'Traslados de fondos',
        selecting: true,
        multiselect: true,
        actions: jtActions,
        fields: {
            idTransferencia: {
                key: true,
                create: false,
                list: false
            },
            idPagador: {
                type: 'hidden',
                defaultValue: $('#ec-idParticipanteXEvento').val()
            },
            codigoReceptor: {
                title: 'Receptor',
                width: '10%',
                input: function (data) {
                    if (data.record) {
                        return '<input type="text" name="codigoReceptor" class="validate[required,maxSize[20]] pago-participante" value="' + data.record.codigoReceptor + '" />' +
                               '<img src="' + GetAppURL() + '/Content/images/ID.png" title="Buscar Participante" onclick="BuscarParticipante(\'#ui-dialog-participante\');" />';
                    } else {
                        return '<input type="text" name="codigoReceptor" class="validate[required,maxSize[20]] pago-participante" />' +
                               '<img src="' + GetAppURL() + '/Content/images/ID.png" title="Buscar Participante" onclick="BuscarParticipante(\'#ui-dialog-participante\');" />';
                    }
                }
            },
            fecha: {
                title: 'Fecha',
                type: 'date',
                width: '15%',
                displayFormat: 'dd-mm-yy',
                create: false
            },
            montoLOC: {
                title: 'Monto(Q)',
                width: '10%',
                listClass: 'right',
                inputClass: 'validate[custom[number]]',
                display: function (pagoData) {
                    return FormatNumber(pagoData.record.montoLOC);
                }
            },
            montoUSD: {
                title: 'Monto($)',
                width: '10%',
                listClass: 'right',
                inputClass: 'validate[custom[number]]',
                display: function (pagoData) {
                    return FormatNumber(pagoData.record.montoUSD);
                }
            },
            observaciones: {
                title: 'Observaciones',
                width: '25%',
                type: 'textarea',
                inputClass: 'validate[maxSize[30]]'
            }
        },
        formCreated: function (event, data) {
            data.form.validationEngine();
        },
        formSubmitting: function (event, data) {
            return data.form.validationEngine('validate');
        },
        formClosed: function (event, data) {
            data.form.validationEngine('hide');
            data.form.validationEngine('detach');
        }
    });
}